package model

import (
	"fmt"
	"choujiang/common/db"
)

type Prop struct {
	Id        int64  `xorm:"INT(11) not null pk autoincr" json:"id"`
	Name      string `xorm:"VARCHAR(255) not null default ''" json:"name"`
	Desc      string `xorm:"VARCHAR(255) not null default ''" json:"desc"`
	Scene     string `xorm:"VARCHAR(255) not null default ''" json:"scene"`
	Icon      string `xorm:"VARCHAR(255) not null default ''" json:"icon"`
	Image     string `xorm:"VARCHAR(255) not null default ''" json:"image"`
	ValueType int64  `xorm:"INT(11) not null default 1" json:"value_type"`
	Value     int64  `xorm:"INT(11) not null default 1" json:"value"`
	Sort      int64  `xorm:"INT(11) not null default 1" json:"sort"`
	Status    int64  `xorm:"INT(11) not null default 1" json:"status"`
	Price     int64  `xorm:"INT(11) not null default 1" json:"price"`
	PriceType int64  `xorm:"INT(11) not null default 1" json:"price_type"`
	Compound  int64  `xorm:"INT(11) not null default 1" json:"compound"`
	CreatedAt int64  `xorm:"not null default 0 INT(11) created" json:"created_at"`
	UpdatedAt int64  `xorm:"not null default 0 INT(11) updated" json:"updated_at"`
}

//GetPropById 通过id获取道具
func GetPropById(id int64) *Prop {
	prop := new(Prop)
	has, err := db.MysqlEngine.Where("id=?", id).Get(prop)
	fmt.Printf("GetPropById err %+v\n", err)
	if !has || err != nil {
		return nil
	}
	return prop
}

//GetPropById 通过scene获取道具
func GetPropByScene(scene string) *Prop {
	prop := new(Prop)
	has, err := db.MysqlEngine.Where("scene=?", scene).Get(prop)
	fmt.Printf("GetPropByScene err %+v\n", err)
	if !has || err != nil {
		return nil
	}
	return prop
}

//GetSkinById: 通过compound获取道具
func GetSkinById(id int64) *Prop {
	prop := new(Prop)
	has, err := db.MysqlEngine.Where("scene=? AND compound=?", "skin", id).Get(prop)
	fmt.Printf("GetPropById err %+v\n", err)
	if !has || err != nil {
		return nil
	}
	return prop
}
